import axios from 'axios'
import {
	Toast
} from 'vant'
// let root = process.env.VUE_APP_BASE_API
const instance = axios.create({
	// baseURL: root, // api的base_url
	timeout: 10000, // 请求超时时间
	// headers: {
	//   // token: store.state.axios.token,
	//   'Content-Type': 'application/Access-Control-Allow-Origin;charset=utf-8'
	// },
	withCredentials: false // 表示跨域请求时是否需要使用凭证
})
// 响应拦截器
instance.interceptors.response.use(
	response => {
		// 接收后台参数状态
		const resp = response.data;
		if (response.status === 200 || resp.success) {
			return resp;
		} else {
			let message = (resp.error && resp.error.message) || resp.message || resp.msg || '未知错误';
			Toast({
				message,
				duration: 1500,
				forbidClick: true
			})
			return Promise.reject(
				new Error(res.message || (res.error && res.error.message) || '未知错误')
			);
		}
	},
	error => {
		console.log('服务器错误信息:', error);
		if (error.response) {
			// error.response有错误信息,是接口错误,不是取消请求
			// 获取错误码,弹出提示信息,reject()
			let code = error.response.status;
			if (res.code == 401) {
				// router.push('/login');
				return Promise.reject(
					new Error('登录过期,请重新登录')
				);
			}
			Toast({
				message: '服务器繁忙, 请稍后再试!  ' + code,
				duration: 1500,
				forbidClick: true
			});
			return Promise.reject(error.message);
		} else {
			// 是取消请求
			// 直接reject
			return Promise.reject(error.message);
		}
	}
)
export default instance
